package com.example.warehouse.bus.service;

import com.example.warehouse.bus.pojo.param.BusInportAddNewParam;
import com.example.warehouse.bus.pojo.param.BusInportUpdateParam;
import com.example.warehouse.bus.pojo.vo.BusInportListItemVO;
import com.example.warehouse.common.pojo.vo.PageData;
import com.example.warehouse.common.security.CurrentPrincipal;
import org.springframework.transaction.annotation.Transactional;

/**
 * 处理进货相关数据的service层接口
 * @Author XXH
 */
@Transactional
public interface IBusInportService {
    /**
     * 新增进货--增
     * @param busInportAddNewParam
     * @param currentPrincipal
     */
    int insert(BusInportAddNewParam busInportAddNewParam,CurrentPrincipal currentPrincipal);

    /**
     * 根据id删除进货数据--删
     * @param id 修改的id
     * @param currentPrincipal 当事人
     * @return 受影响条数
     */
    int deleteById(Long id,CurrentPrincipal currentPrincipal);



    /**
     * 根据id修改进货数据--改
     * @param busInportUpdateParam
     * @return 受影响条数
     */
    int updateById( BusInportUpdateParam busInportUpdateParam);

    /**
     * 查询进货列表，将使用默认的每页记录数 暂定5
     *
     * @param pageNum 页码
     * @return 进货列表
     */
    PageData<BusInportListItemVO> list(Integer pageNum);
    /**
     * 查询进货(Inport)列表
     * @param pageNum 页码
     * @param pageSize 每页记录数
     * @return 进货列表
     */
    PageData<BusInportListItemVO> list(Integer pageNum, Integer pageSize);

    /*---------------------------------------------------非常规业务-----------------------------------------------------------*/


}
